// ****************************************************************************
// *     Filename:  DetectorConstruction.hh
// *      Created:  2012-09-14 11:11:01
// *      Version:  1.0
// *     Revision:  0
// *       Author:  Tran Hoai Nam (nam), nam@kuno-g.phys.sci.osaka-u.ac.jp
// * Organization:  Osaka University
// *      License:  Geant4 Software License 
// *                http://geant4.cern.ch/license/LICENSE.html
// *  Description:  Detector header
// ****************************************************************************
#ifndef DETECTORCONSTRUCTION_CIFRJ3O5
#define DETECTORCONSTRUCTION_CIFRJ3O5

class G4LogicalVolume;
class G4VPhysicalVolume;
class G4Material;

#include "G4VUserDetectorConstruction.hh"

class DetectorConstruction : public G4VUserDetectorConstruction {
	public:
		DetectorConstruction ();
		virtual ~DetectorConstruction ();
	private:
		G4VPhysicalVolume *fpPhysWorld;
		G4double	fWorldX;
		G4double	fWorldY;
		G4double	fWorldZ;

		G4Material *fVacuum;
		G4Material *fAir;
		G4Material *fCopper;
		G4Material *fAluminum;
		G4Material *fNaI;
		G4Material *fSilicon;
		G4Material *fLead;
		G4Material *fPScinti; //plastic scintillator
		G4Material *fSSteel; //stainless steel
		
	public:
		G4VPhysicalVolume * Construct ();
		void DefineMaterials ();
		void SetDefaultParameters ();
		void CalculateSize ();
		G4double Get_WorldZ() { return fWorldZ;}

};

#endif /* end of include guard: DETECTORCONSTRUCTION_CIFRJ3O5 */
